package gold.gold03;

/**
 *
 */
public class S0805递归乘法 {

    /**
     * 100, 就和二分法挺像的, 把B一点的往A里面搬, 停止条件直接用B==0判断, 挺好。
     * 主站29题, 实现除法。思路类似但不太一样, 顺带看一下。
     */
    public int multiply(int A, int B) {
        if(B == 0) return 0;
        if(B % 2 == 0){
            return multiply(A << 1, B >> 1);
        }else{
            return A + multiply(A << 1, (B - 1) >> 1);
        }
    }
}
